﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
	<head>
		<title></title>
        <style type="text/css">
            code
            {
                color:Blue
           }
        </style>
	</head>
	<body>	
	   <h1> Question: </h1>
       <hr />
       <div>
       <ol>
       <li><h3> 问题描述：</h3> 
       <blockquote>玩游戏的都知道，游戏场景中会有各种各样的地形图，我们可以把它抽象划分成比较规范的几何图形，比如：圆，矩形，三角形等等。大家知道在圆形地图和矩形地图里容易判断任务的位置，那么如何判断角色进入了一个三角形地图中呢，比如，山坡等，下图就是一个可以抽象成三角形的地图了：<img src=2008121016411660.jpg /></blockquote>
       
       </li>
       <li><h3>问题抽象：</h3>
       <blockquote>为了方便解决问题，如果把地图看作一个三角形，把角色看作一个点，那么问题就会转换为判断一个点是否在一个三角形之内。这样的话问题就很简单了。
       </blockquote>
       </li>
       <li>
       <h3>方法签名：</h3>
       <blockquote>
       为了提高计算的精确性，提供一个位置类
       <code > struct MyPoint </code>, 
           <br />
           方法接口为：<code>ITriangle</code>
           <br />
           方法为：<code>int InTriangle(MyPoint A, MyPoint B, MyPoint C, MyPoint test);</code>
           <br />
           其中A，B，C为三角形的三个顶点，test为要测试的点，即问题描述中的角色坐标。<br />
           返回值为-1，0，1。<cite>（-1为ABC三点不能构成三角形，0为在三角形之外，1表示为在三角形之内。</cite>）</blockquote>
       </li>
       <li>
       <h3>约束条件：</h3>      
        <ol>
        <li>最小精度为0.000001；</li>
          <li>测试点在三角形边上时返回值应该为 1；</li>
            <li>为防止无效参数，应在方法中判断ABC是否为三角形；不是三角形，返回-1；</li>
            <li>需要的其他知识，通过网络自行解决；</li>           
        </ol>
       </li>
       <br />
        <li>
       <h3>参考事例：</h3>
       <blockquote><p>
           1〉
       A:(5.0,0), B:(0,5.0), C:(0,0),test:(2,2), 返回值为：1；
       </p>
       <p>
          2〉
       A:(5.0,0), B:(0,5.0), C:(2.5,2.5),test:(2,2), 返回值为：-1；
       </p>
       <p>
           3〉
       A:(5.0,0), B:(0,5.0), C:(0,0),test:(3,3), 返回值为：0；
       </p>
       </blockquote>
        </li>
       </ol>
         
       </div>
       
	
	</body>
</html>